// 1809 [滑窗] 中级.最佳升级时间窗
// http://oj.rnd.huawei.com/problems/1809/details
//时间窗内累计用户访问量必须小于等于给定的容忍值。
//时间窗必须是连续的x个小时，最大的x即为最佳升级时间窗，且不超过7*24。
//时间窗允许跨周期，例如当前周期的第167小时到下一周期的第166小时，是一个长度为168的时间窗。
// while(L<length)
// 1. 累计区间访问量
// 2. 访问量过大,左针右移,减少时长直到不超量,且L<=R
// 3. 访问量不超,保存时长,并比较记录当前最大时长
// 4. 右针右移
//输入 6
// 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
// 12 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4
// 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9
// 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7
// 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 输出 22 25
//输入 167
// 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
// 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
// 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
// 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
// 1 1 1 1 1 1 1 1 1 1 167 1 输出 167 165
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
#define ARR_LEN (7 * 24)
class Solution {
 public:
  vector<int> GetBestTimeWindow(int nMax, const vector<int>& arr) const {
    vector<int> visitors = arr;
    visitors.insert(visitors.end(), arr.begin(), arr.end());
    int left = 0;
    int right = 0;
    long long sum = 0;
    int maxTerm = 0;
    vector<int> result(2, -1);
    while (left < static_cast<int>(arr.size())) {
      sum += visitors[right];
      while (sum > nMax && left <= right) {
        sum -= visitors[left];
        left++;
      }
      if (sum <= nMax) {
        int term = right - left + 1;
        if (term == 168) {
          return {0, 167};
        }
        if (term > maxTerm) {
          result[0] = left;
          result[1] = right % 168;
          maxTerm = term;
        }
      }
      right++;
    }
    return result;
  }
};
// 以下为考题输入输出框架，此部分代码不建议改动
inline int ReadInt() {
  int number;
  std::cin >> number;
  return number;
}
template <typename T>
inline std::vector<T> ReadVector(int size) {
  std::vector<T> objects(size);
  for (int i = 0; i < size; ++i) {
    std::cin >> objects[i];
  }
  return objects;
}
template <typename T>
inline void WriteVector(const std::vector<T>& objects, char delimeter = ' ') {
  auto it = objects.begin();
  if (it == objects.end()) {
    return;
  }
  std::cout << *it;
  for (++it; it != objects.end(); ++it) {
    std::cout << delimeter << *it;
  }
}
int main() {
  int n = ReadInt();
  vector<int> arr = ReadVector<int>(ARR_LEN);
  Solution solu;
  vector<int> res = solu.GetBestTimeWindow(n, arr);
  WriteVector(res);
  return 0;
}